The present invention relates to the general subject matter of creating and analyzing digital recorded performances and, more specifically, to systems and methods for determining the tempo or beats-per-minute (xe2x80x9cBPMxe2x80x9d) of a section of digital music.
Determining the xe2x80x9cbeatxe2x80x9d or tempo of a piece of music is an ability that comes naturally to most people. Taping a foot in time to a piece of music, clapping, dancing, etc., are all natural responses to the rhythmic content of a musical composition. The ability of a human to rapidly sense the general beat inherent within a piece of music does not usually require any training or study. Even those who have no musical training can be quite proficient at this seemingly simple task.
However, humansxe2x80x94and especially those that are untrainedxe2x80x94cannot consistently locate the beat very accurately by tapping in time to the music. It is almost inevitable that the successive taps will be slightly off beat (either ahead or behind the beat) by at least as few milliseconds. While that small amount of inaccuracy makes little difference where the only object is to move in synchronization with the music (e.g., while dancing), even small inaccuracies in the exact beat spacing can cause problems when two musical works are merged together (e.g., by playing them simultaneously), as the occurrence of the beats in the musical works will become successively more out of sync over time if their BPMs have not been adjusted as to be virtually identical.
Thus, it would seem natural to use computers to automatically determine the tempo of a composition and, in fact, many have devised algorithms that do exactly that. However, the goal of obtaining a general purpose algorithm that is accurate for a wide variety of styles of music and instrument/vocal combinations has proven to be elusive for a number of reasons. First, it is the rare musical work that does not have some inherent imprecision in its tempo, wherein the beats occur slightly out of their proper time position. Additionally, it is common in musical works for xe2x80x9cdriftxe2x80x9d to occur, i.e., for one portion of a single musical work to have slightly faster or slower tempo than another. Further, since the xe2x80x9cbeatxe2x80x9d might be carried by a drum one moment and the bass the next, beat determination must generally be robust enough to accommodate these sorts of changing musical conditions. Thus, those that are skilled in the art will recognize that these, and many other, practical problems make automatic tempo determination a difficult problem for a computer generally, although most such algorithms may work acceptably in limited circumstances. For example, a musical work that includes a percussive instrument such as a drum would be a better candidate for automatic BPM determination than, say, a musical work that features vocalist that is singing a cappella.
Of course, the ability to identify the beat in a section of music is of more than of just academic interest. Knowledge of the BPM of a musical work is useful in many settings, but it is particularly useful when it is desired to combine musical elements that have been taken from different compositions. That is, if a user wishes to combine a digital drum recording (or xe2x80x9cdrum trackxe2x80x9d) with a digital horn track to make an ensemble arrangement, it is necessary that the two tracks be at the same tempo or BPM. To the extent that they are at different BPM""s , there are mathematical methods of adjusting one track to match the other that are well known to those skilled in the art. But, of course, those methods rely on a knowledge of the actual BPM of each track.
Additionally, in a xe2x80x9cDJxe2x80x9d setting wherein a xe2x80x9cdisk jockeyxe2x80x9d is responsible for playing a series of popular songs for purposes of dancing and the like, it is usually desirable to play the songs in such a way that, as one song fades into the next, the xe2x80x9cbeatsxe2x80x9d of the two songs coincide. This means that the BPM""s of the two songs must be made to nearly match, so that when the songs are be played together (i.e., during the fade-in/fade-out) the corresponding beats in the two songs occur at nearly the same time.
It has been common in the past to require the user to participate in the determination of the BPM of a digital recording by xe2x80x9ctapping alongxe2x80x9d with the music as it plays, e.g., by pressing a mouse button, a key on the keyboard, or some other computer input device in time to the music. A computer program then reads the user""s input and calculates an approximate BPM therefrom. Of course, some users are better at this operation than others and, since a user""s tap will seldom be exactly on the beat, it may take a rather long time for the computer program to be able to estimate with any accuracy the BPM of the song.
Thus, what is needed is a method of BPM determination that functions automatically to determine the tempo of a digital song. Further, this determination should be flexible enough to be applied to both the analysis of prerecorded musical works and to real time analysis of a live performance. Optionally, the method should be able to benefit from a user""s input to refine the BPM estimate.
Heretofore, as is well known in the music and video industries, there has been a need for an invention to address and solve the above-described problems. Accordingly, it should now be recognized, as was recognized by the present inventors, that there exists, and has existed for some time, a very real need for a device that would address and solve the above-described problems.
Before proceeding to a description of the present invention, however, it should be noted and remembered that the description of the invention which follows, together with the accompanying drawings, should not be construed as limiting the invention to the examples (or preferred embodiments) shown and described. This is so because those skilled in the art to which the invention pertains will be able to devise other forms of this invention within the ambit of the appended claims.
There is provided hereinafter an improved system and method for determining the tempo of a digitized musical work which, optionally, allows a user to participate in the BPM determination. More specifically, the instant method utilizes a plurality of different BPM determinations, in concert with input from an end-user, if that is so desired, to arrive at a preferred BPM estimate for a particular digital musical work.
A first preferred aspect of the instant invention includes a method of determination of estimates of the BPM of a musical work which utilizes at two different algorithms, thereby producing a plurality of separate BPM xe2x80x9ccandidatesxe2x80x9d. In the preferred embodiment, one or more of the BPM candidates will be determined via construction of an allocation density function, which is designed to categorize the observed inter-beat time intervals into groupings that correspond to half notes, quarter notes, eighth notes, etc., as well as other (usually xe2x80x9cfalsexe2x80x9d) note intervals such as three or five eighth-notes, five sixteenth-notes, etc., which will fall xe2x80x9cbetweenxe2x80x9d the halves, quarters, etc., in the allocation density function. Peaks in the allocation density function correspond to candidate BPMs for the musical work.
These candidates, optionally including additional BPM candidates obtained through the use of other algorithms, will then be evaluated to select the xe2x80x9cbestxe2x80x9d (or xe2x80x9ctruexe2x80x9d) BPM for the particular musical work as is described below. In the preferred arrangement, an xe2x80x9cauto-tapxe2x80x9d analysis will be employed to select the true BPM from among the multiple candidates. The auto-tap procedure is an adaptive process that effectively xe2x80x9ctapsxe2x80x9d along with the music at a tempo determined by the candidate BPM and notes instances where predicted beats do not correspond to actual beats in the musical work and/or where actual beats in the music do not correspond to the generated beats at the candidate BPM tempo. Additionally, the preferred algorithm adaptively and dynamically makes small adjustments to the candidate BPMs to make it fit as nearly as possible the observed beats in the music. Finally, in the preferred arrangement multiple BPMs will be auto-tapped simultaneously, thereby making it possible for the instant invention to operate in real-time.
As a further preferred aspect of the instant invention, input from a user is solicited for purposes of selecting the xe2x80x9cbestxe2x80x9d BPM from among the plurality of BPM estimates determined to previously. That is, the user is given the option of xe2x80x9ctapping alongxe2x80x9d with the music by pressing, for example, the mouse or a key on the computer in time to the music as it is played. The program analyzes the first few taps and, from that input, selects from the BPM estimates the one that is most consistent with the user""s input. Note that this requires only a very few xe2x80x9cuser taps,xe2x80x9d in contrast to the number that would normally be required to get an accurate estimate of the BPM directly from the user. Another advantage of soliciting user input is that the user will typically choose to tap along with the xe2x80x9cquarter notexe2x80x9d beat, thereby resolving for the software the issue of whether a particular BPM candidate corresponds to a quarter note, eighth note, etc., beat frequency.
The foregoing has outlined in broad terms the more important features of the invention disclosed herein so that the detailed description that follows may be more clearly understood, and so that the contribution of the instant inventors to the art may be better appreciated. The instant invention is not to be limited in its application to the details of the construction and to the arrangements of the components set forth in the following description or illustrated in the drawings. Rather, the invention is capable of other embodiments and of being practiced and carried out in various other ways not specifically enumerated herein. Additionally, the disclosure that follows is intended to apply to all alternatives, modifications and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims. Further, it should be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting, unless the specification specifically so limits the invention. Further objects, features, and advantages of the present invention will be apparent upon examining the accompanying drawings and upon reading the following description of the preferred embodiments.